home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 24 / AMIGAplus Sonderheft 24 (2000)(Falke)(DE)[!].iso / PublicDomain / Anwendungen / MT-RechnungIII / PrintDoks / Rechnung.outpri < prev    next >
Text File  |  1999-03-27  |  14KB  |  636 lines

  1. 1$VER: Rechnung 1.13 (28.03.99)
  2. %!PS-Adobe-3.0
  3. %%Creator: Manfred Tremmel
  4. %%CreationDate: (28.03.1999)
  5. %%Version: 1.13
  6. %%Title: (MT-RechnungIII - Rechnung)
  7. %%LanguageLevel: 2
  8. %%DocumentMedia: A4 594 839 null () ()
  9. %%DocumentNeededResources: font Times-Roman
  10. %%BoundingBox: 0 0 549 839
  11. %%EndComments
  12. %%BeginnDefaults
  13. %%PageMedia: A4
  14. %%EndDefaults
  15.  
  16. %%BeginnSetup
  17. << /PageSize [594 839] >> setpagedevice
  18.  
  19. /PageSize [594 839] def
  20.  
  21. /DokumentRandX 60 def
  22. /DokumentRandY 45 def
  23.  
  24. DruckrandX 720 mul 256 div /DruckrandX exch def
  25. DruckrandY 720 mul 256 div /DruckrandY exch def
  26.  
  27. DruckrandX DokumentRandX ge
  28. {
  29.     0 /DokumentRandX exch def
  30. }
  31. {
  32.     DokumentRandX DruckrandX sub /DokumentRandX exch def
  33. } ifelse
  34.  
  35. DruckrandY DokumentRandY ge
  36. {
  37.     PageSize 1 get /DokumentRandY exch def
  38. }
  39. {
  40.     PageSize 1 get DokumentRandY sub DruckrandY add /DokumentRandY exch def
  41. } ifelse
  42. /DokumentRandYOriginal DokumentRandY def
  43. %%EndSetup
  44.  
  45. %%BeginnResource
  46. /reencodedict 5 dict def
  47. /ReEncode
  48. {
  49.      reencodedict begin
  50.      /newencoding exch def
  51.      /newfontname exch def
  52.      /basefontname exch def
  53.  
  54.      /basefontdict basefontname findfont def
  55.  
  56.      /newfont basefontdict maxlength dict def
  57.  
  58.      basefontdict
  59.      { exch dup dup /FID ne exch /Encoding ne and
  60.           { exch newfont 3 1 roll put }
  61.           { pop pop }
  62.           ifelse
  63.      } forall
  64.      newfont /FontName newfontname put
  65.      newfont /Encoding newencoding put
  66.      newfontname newfont definefont pop
  67.      end
  68. } def
  69.  
  70.  
  71. /ISOLatin8Encoding
  72. [
  73.     ISOLatin1Encoding 0 164 getinterval aload pop
  74.     /euro
  75.     ISOLatin1Encoding 165 91 getinterval aload pop
  76. ] def
  77. /getfont {ISOLatin8Encoding ReEncode findfont exch scalefont def} bind def
  78. %%EndResource
  79.  
  80. %% Fontpsoidoname, Fontgroesse, Realname, Programm (siehe oben)
  81. /Times28 28 /OF0 /Times-Roman /OF0 getfont
  82. /Times28Line 28 def
  83. /Times14 14 /OF0 /Times-Roman /OF0 getfont
  84. /Times14Line 14 def
  85. /Times10 10 /OF0 /Times-Roman /OF0 getfont
  86. /Times10Line 10 def
  87. /Times8 8 /OF0 /Times-Roman /OF0 getfont
  88. /Times8Line 8 def
  89. Times14 setfont
  90.  
  91. /ZWDokumentRand DokumentRandY def
  92. /Seite 1 def
  93. /SeitenNr 4 string def
  94.  
  95. DokumentRandX DokumentRandY moveto
  96. DruckDatum 0 get dup stringwidth
  97. pop 486 exch sub
  98. DokumentRandX add DokumentRandY moveto show
  99.  
  100. %% Ausgab des Dokuments
  101. NiedAdresse3
  102. {
  103.     DokumentRandX ZWDokumentRand moveto
  104.     show
  105.     ZWDokumentRand Times14Line sub /ZWDokumentRand exch def
  106. } forall
  107.  
  108. /Position 0 def
  109. DokumentRandY 110 sub /DokumentRandY exch def
  110.  
  111. Times28 setfont
  112. DokumentRandX DokumentRandY moveto
  113. (Rechnung) dup stringwidth
  114. pop 486 exch sub
  115. DokumentRandX add DokumentRandY moveto show
  116.  
  117. Times8 setfont
  118. Times8 /FontInfo known
  119. {
  120.     Times8 /FontInfo get dup dup dup /UnderlinePosition known
  121.     {
  122.         /UnderlinePosition get
  123.         Times8Line mul 1000 div cvi /Unterstreichabstand exch def
  124.     }
  125.     {
  126.         Times8Line -9 div cvi /Unterstreichabstand exch def
  127.         pop
  128.     } ifelse
  129.     /UnderlineThicknes known
  130.     {
  131.         /UnderlineThicknes get
  132.         Times8Line mul /Unterstrichdicke exch def
  133.     }
  134.     {
  135.         Times8Line 24 div /Unterstrichdicke exch def
  136.         pop
  137.     } ifelse
  138. }
  139. {
  140.     Times8Line -9 div cvi /Unterstreichabstand exch def
  141.     Times8Line 24 div /Unterstrichdicke exch def
  142.     pop
  143. } ifelse
  144.  
  145. NiedAdresse1
  146. {
  147.     newpath
  148.     DokumentRandX DokumentRandY Unterstreichabstand add moveto
  149.     stringwidth pop DokumentRandX add DokumentRandY Unterstreichabstand add
  150.     lineto closepath Unterstrichdicke setlinewidth
  151.     stroke
  152.     DokumentRandX DokumentRandY moveto
  153.     NiedAdresse1 Position get show
  154.     DokumentRandY Times8Line sub /DokumentRandY exch def
  155.     Position 1 add /Position exch def
  156. } forall
  157.  
  158. 0.5 setlinewidth
  159.  
  160. Times14 setfont
  161.  
  162. DokumentRandY Times14Line sub /DokumentRandY exch def
  163. ARRechEmpfNr (0) eq
  164. {
  165.     DokumentRandX DokumentRandY moveto
  166.     (Barverkauf) show
  167.     DokumentRandY 25 sub /DokumentRandY exch def
  168. }
  169. {
  170.     RempfAdresse3
  171.     {
  172.         DokumentRandX DokumentRandY moveto
  173.         show
  174.         DokumentRandY Times14Line sub /DokumentRandY exch def
  175.     } forall
  176. } ifelse
  177.  
  178. DokumentRandY 50 sub /DokumentRandY exch def
  179.  
  180. ARWareEmpfNr (0) ne
  181. {
  182.     DokumentRandX DokumentRandY moveto
  183.     (Warenempfänger:) show
  184.     WempfAdresse3
  185.     {
  186.         DokumentRandX 120 add DokumentRandY moveto
  187.         show
  188.         DokumentRandY Times14Line sub /DokumentRandY exch def
  189.     } forall
  190.     DokumentRandY 10 sub /DokumentRandY exch def
  191. } if
  192.  
  193. DokumentRandX DokumentRandY moveto
  194. (Ihre KundenNr.:) show
  195. DokumentRandX 120 add DokumentRandY moveto
  196. ARRechEmpfNr show
  197. DokumentRandY Times14Line sub /DokumentRandY exch def
  198.  
  199. DokumentRandX DokumentRandY moveto
  200. (RechnungNr.:) show
  201. DokumentRandX 120 add DokumentRandY moveto
  202. DokumentNr show
  203. DokumentRandY Times14Line sub /DokumentRandY exch def
  204.  
  205. DokumentRandX DokumentRandY moveto
  206. (Rechnungsdatum:) show
  207. DokumentRandX 120 add DokumentRandY moveto
  208. ARRechnungDatum 0 get show
  209. DokumentRandY Times14Line sub /DokumentRandY exch def
  210.  
  211. DokumentRandX DokumentRandY moveto
  212. (Verkäufer:) show
  213. DokumentRandX 120 add DokumentRandY moveto
  214. VerkVorname show
  215. ( ) show
  216. VerkName show
  217. DokumentRandY Times14Line sub 20 sub /DokumentRandY exch def
  218.  
  219. 0 /Position exch def
  220. Times10 setfont
  221.  
  222. /Ueberschrift {
  223. /BoxX1 DokumentRandX def
  224. /BoxX2 486 def
  225. /BoxY1 DokumentRandY 2 sub Times10Line sub def
  226. /BoxY2 Times10Line Times10Line add def
  227.  
  228. 0.9 setgray
  229. BoxX1 BoxY1 BoxX2 BoxY2 rectfill
  230. 0.0 setgray
  231. BoxX1 BoxY1 BoxX2 BoxY2 rectstroke
  232.  
  233. DokumentRandX 3 add DokumentRandY moveto
  234. (Artikel) show
  235.  
  236. DokumentRandX DokumentRandY moveto
  237. (Anzahl) dup stringwidth
  238. pop 80 exch sub
  239. DokumentRandX add DokumentRandY moveto show
  240.  
  241. DokumentRandX 85 add DokumentRandY moveto
  242. (Artikelbezeichnung) show
  243.  
  244. DokumentRandX 280 add DokumentRandY moveto
  245. (Einheit) show
  246.  
  247. DokumentRandX DokumentRandY moveto
  248. (MWSt) dup stringwidth
  249. pop 360 exch sub
  250. DokumentRandX add DokumentRandY moveto show
  251.  
  252. DokumentRandX DokumentRandY moveto
  253. (Einzelpreis) dup stringwidth
  254. pop 420 exch sub
  255. DokumentRandX add DokumentRandY moveto show
  256.  
  257. DokumentRandX DokumentRandY moveto
  258. (Summe) dup stringwidth
  259. pop 486 exch sub
  260. DokumentRandX add DokumentRandY moveto show
  261.  
  262.  
  263. DokumentRandY Times10Line sub /DokumentRandY exch def
  264.  
  265. DokumentRandX 85 add DokumentRandY moveto
  266. (Zu-/Abschlagsbezeichnung) show
  267.  
  268. DokumentRandX DokumentRandY moveto
  269. (-wert/%) dup stringwidth
  270. pop 360 exch sub
  271. DokumentRandX add DokumentRandY moveto show
  272.  
  273. DokumentRandX DokumentRandY moveto
  274. (-betrag) dup stringwidth
  275. pop 420 exch sub
  276. DokumentRandX add DokumentRandY moveto show
  277.  
  278. DokumentRandY Times10Line sub 5 sub /DokumentRandY exch def
  279. } def
  280.  
  281. Ueberschrift
  282.  
  283. /ZuAbPos 115 def
  284. ARZuAbNr
  285. {
  286.     0 ne
  287.     {
  288.         ZuAbPos Times14Line add /ZuAbPos exch def
  289.     } if
  290. } forall
  291.  
  292. ZuAbPos 115 ne
  293. {
  294.     ZuAbPos 5 add /ZuAbPos exch def
  295. } if
  296.  
  297. /Zaehler ZuAbPos def
  298.  
  299. ARMWStBel
  300. {
  301.     {
  302.         Zaehler Times14Line add /Zaehler exch def
  303.     } if
  304. } forall
  305.  
  306. Zaehler ZuAbPos ne
  307. {
  308.     Zaehler 5 add /Zaehler exch def
  309. } if
  310.  
  311. /MWStPos Zaehler def
  312.  
  313. MWStPos Times14Line add 5 add /VersandPos exch def
  314.  
  315. ARVersandbez2 () gt
  316. {
  317.     VersandPos Times14Line add /VersandPos exch def
  318. } if
  319.  
  320. ARVersandbez3 () gt
  321. {
  322.     VersandPos Times14Line add /VersandPos exch def
  323. } if
  324.  
  325. /BemerkungPos VersandPos def
  326.  
  327. /BemerkungZeilen ARBemerkung length def
  328. BemerkungZeilen 0 ne
  329. {
  330.     BemerkungZeilen Times14Line mul cvi 5 add BemerkungPos add
  331.     /BemerkungPos exch def
  332. } if
  333.  
  334. ARPositionen
  335. {
  336.     /pos exch def
  337.  
  338.     %% Länge der Position ermitteln
  339.     pos 0 get 4 get length 1 add
  340.     pos 1 get 16 get length add
  341.     pos 1 get 11 get
  342.     {
  343.         0 ne
  344.         {
  345.             1 add
  346.         } if
  347.     } forall
  348.     Times10Line mul cvi 5 add
  349.     /Poslength exch def
  350.  
  351.     %% Mal schaun, ob noch genügend Platz ist, auf der Seite
  352.     60 DokumentRandY Poslength sub gt
  353.     {
  354.         Seite 1 add /Seite exch def
  355.         DokumentRandX 200 add 50 moveto
  356.         (Weiter auf Seite: ) show
  357.         Seite SeitenNr cvs show
  358.         showpage
  359.         /DokumentRandY DokumentRandYOriginal def
  360.         DokumentRandX 200 add DokumentRandY moveto
  361.         (Fortsetzung von Seite: ) show
  362.         Seite 1 sub SeitenNr cvs show
  363.         DokumentRandY Times10Line sub Times10Line sub /DokumentRandY exch def
  364.         Ueberschrift
  365.     } if
  366.  
  367.     %% Artikelnummer
  368.     DokumentRandX 3 add DokumentRandY moveto
  369.     pos 1 get 1 get show
  370.  
  371.     %% Menge/Anzahl
  372.     DokumentRandX DokumentRandY moveto
  373.     pos 1 get 2 get dup stringwidth
  374.     pop 80 exch sub
  375.     DokumentRandX add DokumentRandY moveto show
  376.  
  377.     %% Artikelbezeichnung
  378.     DokumentRandX 85 add DokumentRandY moveto
  379.     pos 0 get 3 get show
  380.  
  381.     %% Mengeneinheit
  382.     DokumentRandX 280 add DokumentRandY moveto
  383.     pos 0 get 5 get show
  384.  
  385.     %% MWSt-Prozentsatz
  386.     DokumentRandX DokumentRandY moveto
  387.     pos 1 get 8 get dup stringwidth
  388.     pop 360 exch sub
  389.     DokumentRandX add DokumentRa